﻿// Decompiled with JetBrains decompiler
// Type: MCM.Abstractions.Base.PerSave.PerSaveSettings
// Assembly: MCMv5, Version=5.10.2.0, Culture=neutral, PublicKeyToken=null
// MVID: 7AB326B9-B2B4-41C2-9177-68E944071101
// Assembly location: D:\steam\steamapps\workshop\content\261550\2859238197\bin\Win64_Shipping_Client\MCMv5.dll

using System;
using System.Collections.Concurrent;

#nullable enable
namespace MCM.Abstractions.Base.PerSave
{
  public abstract class PerSaveSettings : BaseSettings
  {
    protected static readonly ConcurrentDictionary<Type, string> Cache = new ConcurrentDictionary<Type, string>();
    protected static readonly ConcurrentDictionary<string, BaseSettings?> CacheInstance = new ConcurrentDictionary<string, BaseSettings>();

    internal static void InvalidateCache()
    {
      PerSaveSettings.Cache.Clear();
      PerSaveSettings.CacheInstance.Clear();
    }

    public override sealed string FormatType { get; } = "json2";
  }
}
